package com.wn.portal.feign;

import com.wn.portal.feign.fallback.MemberFeignFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.concurrent.TimeUnit;

/**
 * @author yellow Docter
 * @date 2022 -08-24
 * @desc
 *
 * 如果远程嗲用失败了 会制动执行 fallback中配置的 类中的方法 MemberFeignFallback
 */
@FeignClient(value = "MEMBER-SERVER",path = "member",fallback= MemberFeignFallback.class)  // 这个接口调用那个服务
public interface MemberFeignClient {

    // 写方法调用 MEMBER-SERVE服务中的指定的方法
    // 请求的方式、URL、方法参数要与请求的接口一致
    @GetMapping("/{mid}")
    public String findMemberById(@PathVariable String mid);

    @GetMapping("/test/{mid}")
    public String findMemberTimeOut(@PathVariable("mid") Integer mid);
}
